package com.plian.system.entity.pf;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.plian.system.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * @description: 市属企业负责人薪酬发放表
 * @author: gangan
 * @create: 2021-05-12 17:22
 */
@Data
@TableName("pf_leader_salary_detail")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "市属企业负责人薪酬发放表", description = "市属企业负责人薪酬发放表")
public class LeaderSalaryDetail extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主表id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "主表id")
    private Long baseLeaderSalaryDetailId;

    /**
     * 是否企业负责人 1否2是
     */
    @ApiModelProperty(value = "是否企业负责人 1否2是")
    private Integer isLeader;

    /**
     * 部门
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "部门id")
    private Long departmentNameId;

    /**
     * 员工档案id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "员工档案id")
    private Long staffFilesId;

    /**
     * 导入用 证件号
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "导入用 证件号")
    private String staffFilesCode;

    /**
     * 员工姓名
     */
    @ApiModelProperty(value = "员工姓名")
    private String staffName;

    /**
     * 职务
     */
    @ApiModelProperty(value = "职务")
    private String jobNameId;

    /**
     * 职级
     */
    @ApiModelProperty(value = "职级")
    private String rankId;


    /**
     * 上年薪酬实发数
     */
    @TableField(value = "last_year_salary",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "上年薪酬实发数")
    private BigDecimal lastYearSalary;


    /**
     * 本年薪酬实发数
     */
    @TableField(value = "year_salary",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "本年薪酬实发数")
    private BigDecimal yearSalary;


    /**
     * 本月份发放数
     */
    @TableField(value = "month_salary",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "本月份发放数")
    private BigDecimal monthSalary;

    /**
     * 上月累计发放数
     */
    @TableField(value = "last_month_salary",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "上月累计发放数")
    private BigDecimal lastMonthSalary;


    @TableField(value = "pretest_salary",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "本年预发数")
    private BigDecimal pretestSalary;

    /**
     * 年考核发放数
     */
    @TableField(value = "last_compensation_settlement_amount",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "上年考核发放数")
    private BigDecimal lastCompensationSettlementAmount;

    /**
     * 任期激励发放数
     */
    @TableField(value = "incentive_payments_amount",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "任期激励发放数")
    private BigDecimal incentivePaymentsAmount;


    /**
     * 变动情况
     */
    private String changeCondition;

    /**
     * 是否变动
     */
    private Integer isChange;
    /**
     * 本年累计实体数
     */
    @TableField(value = "year_total_amount",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "本年累计实体数")
    private BigDecimal  yearTotalAmount;
    /**
     * 交通补贴
     */
    @TableField(value = "transportation_allowance",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "交通补贴")
    private BigDecimal  transportationAllowance;
    /**
     * 通讯补贴
     */
    @TableField(value = "phone_allowance",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "通讯补贴")
    private BigDecimal  phoneAllowance;
}
